API Requests
HTTP Methods
The DLL will accept HTTP Requests via GET or POST (POST is used when the request is over 2000 characters).
Request Format
All request data is sent as query parameters. Note that these query parameters will be encrypted, although for readability these are shown as unencrypted in this documentation.
Example request to retrieve a list of users:
http://192.168.1.2/PRT_CTRL_DIN_ISAPI.dll?Request&Type=List&SubType=GXT_USERS_TBL
Request Special Case for '=' and '&'
Request data that contains any '&' or '=' as part of a request string should be replace by Unicode character (U+0011) and Unicode character (U+0012) respectively. Replace end-of-line characters (CR and LF) with %0A (URL encoding).
Example request:
Case: Adding an '=' character within the Commands field for a reader expander record, i.e.
Commands:
PortOne=1
http://192.168.1.2/PRT_CTRL_DIN_ISAPI.dll?Command&Type=Submit&SubType=GXT_READEREXPANDERS_TBL&ReaderExpanderId=0&Commands=PortOne%121&action=update...
Case: Using an 'end-of-line' character (CR and LF) for a reader expander record, i.e.
Commands:
PortOne=1
OSDPBaudP1=9600
http://192.168.1.2/PRT_CTRL_DIN_ISAPI.dll?ReaderExpanderId=0&Commands=PortOne%121%0AOSDPBaudP1%129600&action=update...
Case: Adding an '&' character within the Name field for a door record, i.e.
Name:
DoorPin&Card
http://192.168.1.2/PRT_CTRL_DIN_ISAPI.dll?Command&Type=Submit&SubType=GXT_DOORS_TBL&DoorId=0&action=update&Name=DoorPin%11Card&action=update...
Response Formats
All response data is in either plain text or ampersand separated key value strings in the response body.
Note that this response will be encrypted, although for readability these are shown as unencrypted in this documentation.
Example response from the user list request above (Request Format):
41=Installer&42=Master&43=User (Demo)
Response Delimiters
Response data that contains any '&' will be converted to alpha (0xE0) and '=' to a double border character (0xCD). The client should perform the inverse transformation once data has been retrieved. We do this because '&' and '=' are used in the parameter string to delimit the various sections.